Week Overview Mon – Fri · 10 hours total

Build a multi-server lab environment and lock it down with professional SSH configuration

Week 1 establishes the infrastructure everything else depends on. By Monday afternoon, students have three Ubuntu 24.04 LTS servers running in Hyper-V with a working NAT gateway. By Friday, those servers are accessible only via SSH key authentication, hardened against brute-force attacks, and monitored by fail2ban. These aren't throw-away exercises — the VMs built this week are the same machines students will configure DHCP, DNS, VPNs, and Docker on for the rest of the course.

Students coming from NETW-0001 will recognise Hyper-V, basic networking, and the SSH concepts. The difference here is scale and intent: three servers with purpose-built network topology, SSH hardened to a professional standard, and fail2ban configured to watch and respond to attack patterns in real time.

Week at a glance

Monday
Lab Environment Build

Course intro, Hyper-V setup, three Ubuntu VMs, vSwitch topology (Lab 1A)

Tuesday
VM Networking & NAT

Static IP config, NAT routing on S1, inter-VM connectivity verification (Lab 1B)

Wednesday
SSH Keys

Key cryptography theory, generate 4096-bit RSA keys, copy to all servers via SCP (Lab 1C)

Thursday
SSH Hardening

sshd_config security options, port change, banners, idle timeout, Windows Terminal sessions

Friday
fail2ban + Assessment

fail2ban install and jail configuration, log monitoring. Mini-Assessment 1.

Learning Outcomes By end of Week 1, students can…
Build a multi-server Hyper-V labCreate three Ubuntu Server VMs with External, LAN1, and LAN2 vSwitches, correctly configured for the course network topology
Configure NAT routingEnable IP forwarding on S1 and configure iptables masquerade so S2 and S3 reach the internet through S1
Explain SSH key cryptographyDescribe the role of public and private keys, the authentication handshake, and why keys are stronger than passwords
Deploy SSH key authenticationGenerate a 4096-bit RSA key pair on Windows, distribute public keys to all servers via SCP, and disable password authentication
Harden the SSH daemonApply production-grade sshd_config settings: non-default port, login banners, idle timeout, MaxAuthTries, and user access controls
Configure fail2banInstall fail2ban, create a custom jail for SSH, verify it fires on repeated failed attempts, and read its log output
Monday Course intro + Lab 1A · 2 hrs

Course introduction and lab environment build — three VMs, three vSwitches

0:00–0:30
Lecture
0:30–1:50
Lab 1A
1:50–2:00
Debrief
Instructor note: The three-vSwitch topology is the most important concept to get right on Day 1. Draw it on the board before students open Hyper-V Manager. A student who builds the wrong topology will have compounding problems in every subsequent week. Check each workstation's vSwitch configuration before the end of the session.
Tuesday Lab 1B · 2 hrs

Complete VM builds, static IP configuration, NAT gateway setup, and connectivity verification

0:00–0:15
Recap
0:15–1:50
Lab 1B
1:50–2:00
Debrief
Timing note: Installing Ubuntu Server on two additional VMs while configuring networking is ambitious for one session. If S2 and S3 installs aren't complete by 1:30, have students focus on networking S1 and S2 — S3 can be completed at the start of Wednesday without disrupting the SSH labs.
Wednesday Lecture + Lab 1C Parts 1–2 · 2 hrs

SSH key cryptography — theory, key generation, and distributing public keys to all servers

0:00–0:10
Recap
0:10–0:40
Lecture
0:40–1:50
Lab 1C Pt 1–2
1:50–2:00
Debrief
Instructor note: The SCP step is where students most often make mistakes — they copy the private key instead of the public, or SCP to the wrong path. Walk through the first server copy as a class demonstration before students work independently.
Thursday Lab 1D Parts 3–4 · 2 hrs

SSH hardening — disable password auth, change port, banners, idle timeout, and access controls

0:00–0:10
Recap
0:10–1:45
Lab 1D Pt 3–4
1:45–1:55
Bonus
1:55–2:00
Wrap
⭐ Thursday Bonus — Reading auth.log
  • Run: sudo tail -f /var/log/auth.log — watch it live while attempting connections from Windows Terminal
  • Deliberately enter the wrong password three times — observe the "Failed password" entries appearing in the log
  • Ask: "If you were an attacker running a password spray tool, what would this log look like?" — sets up fail2ban perfectly for Friday
Friday fail2ban + Mini-Assessment 1 · 2 hrs

fail2ban configuration, then Mini-Assessment 1

0:00–0:30
fail2ban lab
0:30–1:15
Assessment
1:15–1:45
Catch-up
1:45–2:00
Review + Preview W2

Mini-Assessment 1 — Topic Coverage

TopicWeightSource
SSH key cryptography — public vs. private key roles, auth handshake20%Wednesday lecture
Key generation and SCP distribution — commands and file locations15%Lab 1C Parts 1–2
sshd_config hardening settings — purpose of each directive25%Lab 1D Parts 3–4
Login banners — MOTD vs. SSH banner, when each appears10%Lab 1D Part 4
fail2ban — how it works, jail.local configuration, reading the log20%Friday lab
NAT routing — IP forwarding, iptables MASQUERADE, why S2 needs it10%Tuesday lab

What you need ready before Monday

Ubuntu Server 24.04 LTS ISO on every workstation Hyper-V enabled on all host machines Lab 1A, 1B, 1C, and 1D handouts printed Network IP scheme confirmed per desk MAC address ranges per desk documented Mini-Assessment 1 printed (Friday) Topology diagram drawn and ready for projector
Day 1 Lesson Plan → Week 2 → Course Outline